package org.ehe.erp.domain.purchase;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import org.ehe.common.mybatis.core.domain.BaseEntity2;
import org.hibernate.validator.constraints.Length;

import java.time.LocalDateTime;

/**
 * 质检附件实体类
 *
 * @author zhangnn
 * @className ErpQualityAttachment
 * @description 质检附件表实体，记录质检过程中的附件信息（如问题照片等）
 * @date 2025-09-10 15:00:00
 */
@Data
@TableName("erp_purchase_order_attachment")
public class ErpPurchaseOrderAttachment extends BaseEntity2 {

    /** 附件ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 订单表ID */
    private Long purchaseOrderId;

    /** 订单编号 */
    private String purchaseOrderNo;

    /** 文件名 */
    @NotBlank(message = "文件名不能为空")
    @Length(max = 500, message = "文件名长度不能超过500字符")
    private String fileName;

    /** 文件路径 */
    @NotBlank(message = "文件路径不能为空")
    @Length(max = 1000, message = "文件路径长度不能超过1000字符")
    private String filePath;

    /** 文件大小（字节） */
    private Long fileSize;

    /** 文件类型 */
    @Length(max = 100, message = "文件类型长度不能超过100字符")
    private String fileType;

    /** 附件类型（1照片、2合同、3其他文档） */
    private Integer attachmentType;
    /** 上传人 */
    @Length(max = 100, message = "上传人长度不能超过100字符")
    private String uploadPerson;

    /** 上传时间 */
    private LocalDateTime uploadTime;
}
